Raporty definiowane

s▒ sposobem na szybkie uzyskanie wybranych informacji z bazy danych programu.
Raporty podzielono na tematy, kt≤rym odpowiada okre╢lony zestaw tabel bazy danych. Przechodz▒c do definiowania nowego raportu nale┐y wybraµ interesuj▒cy temat, a nastΩpnie, typowo, dodaµ now▒ pozycjΩ i wpisaµ nazwΩ raportu. Nazwa pojawi siΩ na wydruku obok tematu. Kolejnym etapem definiowania raportu jest okre╢lenie kolumn na podstawie proponowanego zestawu znajduj▒cego siΩ o okienku listy. KlikniΩcie na odpowiedni guzik ">" lub te┐ "<" powoduje w│▒cznie pola do raportu lub te┐ wy│▒czenie. Tabela wykazu kolumn raportu umo┐liwia zmianΩ tre╢ci nag│≤wka, blokadΩ wydruku ( wstawiona kolumna mo┐e byµ u┐yta wy│▒cznie do filtra), okre╢lenie sortowania i zdefiniowanie filtrowania danych.

Filtrowanie.
Zagadnienie wyboru danych do raportu nale┐y do najwa┐niejszych i skuteczne ograniczanie decyduje o mozliwo╢ci wykorzystania raportu. Wprowadzono nastΩpuj▒ce operatory:
" " - brak operatora - filtr jest wy│▒czony

operator pole tekstowe pole numeryczne pole daty

<<

dana z pola zawiera siΩ w warto╢ci dana mniejsza ponad 1000 razy data z pola o przynajmniej rok wcze╢niejsza

<

dana jest mniejsza w sensie alfabetu dana mniejsza data z pola wcze╢niejsza

=

teksty s▒ sobie r≤wne obie r≤wne r≤wne daty

#

teksty r≤┐ne obie r≤┐ne r≤┐ne daty

~

teksty podobne (zawieraj▒ siΩ w sobie) warto╢ci przybli┐one do 10% przybli┐one daty

>

dane wiΩksza w sensie alfabetu dana wiΩksza data pola p≤╝niejsza

>>

warto╢µ zawiera siΩ w tek╢cie pola dana wiΩksza ponad 1000 razy data pola p≤╝niejsza ponad rok

Budowanie filtr≤w z│o┐onych polega na sk│adniu filtru z warunk≤w dla wielu wybranych p≤l. Musimy wiedzieµ, ┐e domy╢lnie zak│ada siΩ spe│nienie wszystkich warunk≤w, czyli zastosowano operator logiczy "i". Je┐eli jednak istnieje potrzeba zdefiniowania filtru z zastosowaniem operator "lub", to wystarczy skorzystaµ z pola NF  ( negacja filtru )  w nag│≤wku definicji raportu. Odznaczenie tego pola spowoduje wybranie danych do raportu, gdy zdefiniowany filtr nie jest spe│niony.
Dalej nale┐y skorzystaµ ze znanej zale┐no╢ci:
      !( a  i  b)   =  ( !a lub !b),  gdzie znakiem "!" oznaczono negacjΩ wyra┐enia.

Przyk│adowo:
Zadanie polega na wygenerowaniu raportu sprzeda┐y dla dw≤ch klient≤w o nazwach sk≤conych:   KLIENT1  i  KLIENT2.
Do raportu wstawiamy dwie kolumny NAZWA_SKR i jedn▒ z nich zaznaczamy, ┐e ma siΩ nie drukowaµ. Po zdefiniowaniu pozosta│ych kolumn raportu pozostaje konieczno╢µ wstawienia odpowiednich warunk≤w do filtru. Do p≤l zatytuowanych "Warto╢µ" wpisujemy odpowiednio wymagane nazwy klient≤w oraz wybieramy operatory "#" ( r≤┐ny). NastΩpnie musimy zaznaczyµ pole NF w nag│≤wku definicji raportu. Jak widaµ wygl▒da to wszystko nieco skomplikowanie, ale to tylko pozory.

W programie ksiΩgowym powinna byµ mo┐liwo╢µ wykonania raportu zawieraj▒cego sumy kwot lub zliczenie liczby pozycji. Raporty Definiowane maj▒ tak▒ mo┐liwo╢µ po zaznaczeniu opcji "ZLICZ" w nag│≤wku raportu. Efektem raportu zliczonego jest tabela zawieraj▒ca kolumny okre╢lone jako nag│≤wki wieszy ( nie polegaj▒ sumowaniu, ani zliczeniu ), kt≤re grupuj▒ dane i kolumny zawieraj▒ce sumy p≤l numerycznych oraz zliczone pozosta│e pola. Sprawd╝ dzia│anie opcji zliczania drukuj▒c raport w obu jej stanach. W≤wczas wszystko stanie siΩ jasne ;)

Szczeg≤lne przypadki zastosowania raport≤w definiowanych wymagaj▒ zastosowania p≤l wyliczeniowych. Istnieje mo┐liwo╢µ wykorzystania w tym celu kolumny "Formu│a" specyfikacji raportu. W polu tym trzeba zapisaµ tak▒ formu│Ω, kt≤ra umo┐liwi programowi pobranie i wyliczenie wymaganej warto╢ci. Np. zapisuj▒c tabela1->pole1-tabela1->pole2 uzyskamy pole wyliczeniowe r≤wne r≤┐nicy p≤l pole1 i pole2  tabeli1.
Warto╢µ wyliczeniowa mo┐e byµ por≤wnywana z warto╢ci▒ wpisan▒ zgodnie z zadanym operatorem.